home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -serious- / wb / cutnpaste / install_cutnpaste next >
Text File  |  1999-09-06  |  12KB  |  285 lines

  1. ; Opus Cut'n'Paste V3.4 Installation Utility
  2. ; © 1999 Keith Halstead (28.08.99)
  3.  
  4. (procedure getdopusver
  5.    (  (set #dopusverrev (getversion "DOpus5:DirectoryOpus"))
  6.       (set #dopusver (/ #dopusverrev 65536))
  7.       (set #dopusrev (- #dopusverrev (* #dopusver 65536)))
  8.       (set #textdopusrev (cat #dopusrev))
  9.       (set #versioncheck "passed")
  10.    )
  11. )
  12.  
  13. (complete 0)
  14.  
  15. ; checks for presence of at least DOpus 5.5
  16. (if (= (getassign "DOpus5") "")
  17.    (abort "You do not appear to be running Directory Opus 5!\n\nThe DOpus5: assign is not present!")
  18. )
  19. (if (exists "DOpus5:DirectoryOpus")
  20.    (  (getdopusver)
  21.       (if (AND (< (substr #textdopusrev 0 1) 5) (> #dopusver 0))
  22.          (abort ("You only have Directory Opus V%ld.%ld!\n\nOpus Cut'n'Paste requires at least DOpus V5.5!" #dopusver #dopusrev))
  23.       )
  24.       (if (= #dopusver 0)
  25.          (set #versioncheck "failed")
  26.       )
  27.    )
  28. )
  29.  
  30. (message (cat "\nWelcome to the Opus Cut'n'Paste V3.4 installation utility!\n\n"
  31.               "Cut'n'Paste adds the ability to cut, copy and paste files and directories "
  32.               "to and from a clipboard in Directory Opus.  However there are many more "
  33.               "features available such as pasting into archives, pasting links, renaming "
  34.               "as you paste and so on.\n\n"
  35.               "Please read the accompanying documentation for "
  36.               "further instructions about the program."))
  37.  
  38. (message (cat "\n\nYou appear to have at least DOpus 5.5 running.\n\nPlease also ensure that "
  39.               "RexxMast is running and \"Name Mode PopUp\" is turned on in DOpus's \"Lister "
  40.               "Options\".\n\nThen click \"Proceed\"..."))
  41.  
  42. (complete 5)
  43.  
  44. ; set up available language names
  45. (set #language_0 "English (built-in)")
  46. (set #language_1 "Català")
  47. (set #language_2 "Dansk")
  48. (set #language_3 "Deutsch")
  49. (set #language_4 "Español")
  50. (set #language_5 "Français")
  51. (set #language_6 "Italiano")
  52. (set #language_7 "Norsk")
  53. (set #language_8 "Polski")
  54. (set #language_9 "Suomi")
  55. (set #language_10 "Svenska")
  56.  
  57. ; Check if any one of the available languages match the WB3.1 LOCALE settings
  58. (set #defaultlanguageno 0)
  59. (if (exists "ENV:Language")
  60.    (  (set #i 0)
  61.       (while (< #i 11)
  62.          (  (set #currentlanguage (select #i #language_0 #language_1 #language_2 #language_3 #language_4
  63.                                              #language_5 #language_6 #language_7 #language_8 #language_9
  64.                                               #language_10)
  65.             )
  66.             (if (patmatch (getenv "language") #currentlanguage)
  67.                (set #defaultlanguageno #i)
  68.             )
  69.             (set #i (+ #i 1))
  70.          )
  71.       )
  72.    )
  73. )
  74.  
  75. ; Choose language for Cut'n'Paste and highlight the current LOCALE setting (3.1 only)
  76. (set #cnplanguageno
  77.    (askchoice
  78.       (prompt (cat "Please select one of these languages for Cut'n'Paste (you must have "
  79.                    "the appropriate LOCALE: settings).  Please note that older catalogs "
  80.                    "are incompatible with V3.4.\n"
  81.                    "* = incomplete - some words are currently in English."))
  82.       (help @askchoice-help)
  83.       (choices #language_0 (cat #language_1 " *") #language_2 #language_3 #language_4 #language_5
  84.                #language_6 #language_7 (cat #language_8 " *") #language_9 #language_10)
  85.       (default #defaultlanguageno)
  86.    )
  87. )
  88.  
  89. ; Set the name of the language to be installed
  90. (set #cnplanguagename (select #cnplanguageno #language_0 #language_1 #language_2 #language_3
  91.                               #language_4 #language_5 #language_6 #language_7 #language_8
  92.                               #language_9 #language_10))
  93.  
  94. (complete 10)
  95.  
  96. ; Copy the catalog file to LOCALE:Catalogs/#cnplanguagename
  97. (if (> #cnplanguageno 0)
  98.    (if (exists (tackon "LOCALE:Catalogs/" #cnplanguagename))
  99.       (copyfiles
  100.          (prompt ("Copying the %s catalog file for Cut'n'Paste..." #cnplanguagename))
  101.          (help @copyfiles-help)
  102.          (source (cat "locale/" #cnplanguagename "/CutNPaste.catalog"))
  103.          (dest (cat "LOCALE:Catalogs/" #cnplanguagename))
  104.          (confirm)
  105.       )
  106.       (copyfiles
  107.          (prompt (cat ("The catalog directory for %s didn't exist!" #cnplanguagename)
  108.                       "  Press 'Proceed' to automatically make it or you may copy it"
  109.                       " to an alternative location or skip this part.\n\n"
  110.                       ("Copying the %s catalog file for Cut'n'Paste..." #cnplanguagename)))
  111.          (help @copyfiles-help)
  112.          (source (cat "locale/" #cnplanguagename "/CutNPaste.catalog"))
  113.          (dest (cat "LOCALE:Catalogs/" #cnplanguagename))
  114.          (confirm average)
  115.       )
  116.    )
  117. )
  118.  
  119. (complete 25)
  120.  
  121. ; Copy main script - do this after the catalog so the script will activate with the correct language
  122. (copyfiles
  123.    (prompt "Copying Cut'n'Paste ARexx script...\nYou really shouldn't skip this part...")
  124.    (help (cat "You should not skip this part to ensure you have the latest version installed."
  125.               "\n\nPlease also ensure that you have no other, renamed Cut'n'Paste scripts "
  126.               "in DOpus5:Modules!\n\n" @copyfiles-help))
  127.    (source "Opus5/Modules/")
  128.    (pattern "CutNPaste.dopus5")
  129.    (dest "DOpus5:Modules")
  130.    (confirm)
  131. )
  132.  
  133. (complete 40)
  134.  
  135. ; asks user if he wants to install the custom toolbar icons
  136. (set #installimages
  137.    (askbool
  138.       (prompt (cat "Would you like to install some custom toolbar icons for Cut'n'Paste?\n\n"
  139.                    "If you are using an earlier version of DOpus than 5.66 then you will need "
  140.                    "to set up toolbars to operate Cut'n'Paste so you should select \"Yes\".  "
  141.                    "Users of later versions of DOpus can use Cut'n'Paste fully from the "
  142.                    "pop-up menus but you may find it useful to set up the lister toolbar too.\n\n"
  143.                    "(You will need to set up the toolbars yourself - step-by-step instructions "
  144.                    "are provided in the documentation.)"))
  145.       (help @askbool-help)
  146.    )
  147. )
  148.  
  149. (complete 50)
  150.  
  151. ; gets the destination directory for the toolbar icons and copies them
  152. (if (= #installimages 1)
  153.    (  (set #destimagesdrawer
  154.          (askdir
  155.             (prompt (cat "Please select the drawer to install the toolbar icons in.  "
  156.                          "A drawer called \"CutNPaste\" will be created for them"))
  157.             (default "DOpus5:Images")
  158.             (help (cat "Note that the images will be placed in a new directory called "
  159.                        "\"CutNPaste\" so that you can easily delete them if you don't like "
  160.                        "them.  So if you accept the default destination the toolbar icons "
  161.                        "will be placed in \"DOpus5:Images/CutNPaste/\".\n\n" @askdir-help))
  162.          )
  163.       )
  164.  
  165.       (copyfiles
  166.          (prompt "Copying Cut'n'Paste custom toolbar icons...")
  167.          (help @copyfiles-help)
  168.          (source "Opus5/Images/")
  169.          (dest (tackon #destimagesdrawer "CutNPaste"))
  170.          (pattern "#?")
  171.          (confirm)
  172.       )
  173.    )
  174. )
  175.  
  176. (complete 60)
  177.  
  178. ; asks expert user if he would like to install Cut'n'Paste doc; average user must install it
  179. (if (= @user-level 2)
  180.    (set #installhelp
  181.       (askbool
  182.          (prompt (cat "Would you like to install the Cut'n'Paste AmigaGuide® documentation?\n\n"
  183.                       "This is strongly recommended so that you don't miss out on all "
  184.                       "of the features of Cut'n'Paste, such as the configuration options.\n\n"
  185.                       "If you install the documentation in \"DOpus5:Help/\" it will be available "
  186.                       "through the \"Help...\" button on Cut'n'Paste's \"About\" window."))
  187.          (help @askbool-help)
  188.       )
  189.    )
  190.    (set #installhelp 1)
  191. )
  192.  
  193. (complete 70)
  194.  
  195. (if (= #installhelp 1)
  196.    (  (set #desthelpdrawer
  197.          (askdir
  198.             (prompt (cat "Please select the drawer to install Cut'n'Paste's AmigaGuide® "
  199.                          "documentation in.  You are strongly recommended to put it in "
  200.                          "\"DOpus5:Help/\" so that it is available through Cut'n'Paste's "
  201.                          "\"About\" window."))
  202.             (default "DOpus5:Help")
  203.             (help (cat "If DOpus5:Help doesn't exist, create it now!\n\n" @askdir-help))
  204.          )
  205.       )
  206.  
  207.       (copyfiles
  208.          (prompt "Copying Cut'n'Paste AmigaGuide® documentation and icon...")
  209.          (help @copyfiles-help)
  210.          (source "Opus5/Help/")
  211.          (dest #desthelpdrawer)
  212.          (pattern "#?")
  213.          (confirm)
  214.       )
  215.    )
  216. )
  217.  
  218. (complete 80)
  219.  
  220. (copyfiles
  221.    (prompt (cat "Would you like to copy the Cut'n'Paste translation document so you could "
  222.                 "easily produce your own foreign translation?"))
  223.    (help @copyfiles-help)
  224.    (source "locale")
  225.    (dest "LOCALE:")
  226.    (pattern "CutNPaste.cd")
  227.    (confirm average)
  228. )
  229.  
  230. (complete 90)
  231.  
  232. (if (= #versioncheck "passed")
  233.    (if (OR (= (substr #textdopusrev 0 2) "66") (>= (substr #textdopusrev 0 1) "8"))
  234.       (message (cat ("You have Directory Opus V%ld.%ld.\n\n"#dopusver #dopusrev)
  235.                     "You can use Cut'n'Paste straight away without needing to set up "
  236.                     "lister toolbars.\n\nClick proceed..."))
  237.       (if (= (substr #textdopusrev 0 1) "6")
  238.          (message (cat ("You have Directory Opus V%ld.%ld.\n\n" #dopusver #dopusrev)
  239.                        "This is an obsolete version of Magellan I!  Upgrade for FREE at\n"
  240.                        "http://www.gpsoft.com.au\n"
  241.                        "to V5.66, or even better, buy the upgrade to Magellan II!\n\n"
  242.                        "Users of Magellan V5.66+ or Magellan II can use Cut'n'Paste "
  243.                        "immediately.  With your current version, you will need to set up toolbar "
  244.                        "icons to access most of Cut'n'Paste's commands, as for DOpus V5.5."
  245.                        "\n\nClick proceed..."))
  246.          (message (cat ("You have Directory Opus V%ld.%ld.\n\n" #dopusver #dopusrev)
  247.                        "You will need to set up lister toolbars to access most of "
  248.                        "Cut'n'Paste's commands - see the documentation for step-by-step "
  249.                        "instructions.\n\n"
  250.                        "(Users of DOpus Magellan 5.66+ and Magellan II do not need to "
  251.                        "to do this!)\n\nClick proceed..."))
  252.       )
  253.    )
  254.    (message (cat "We can't check the version of DOpus you are running.  This may because:\n\n"
  255.                  "1. The executable is not at \"DOpus5:DirectoryOpus\" or;\n"
  256.                  "2. You have packed the executable.\n\n"
  257.                  "If you have at least Magellan 5.66 you can use Cut'n'Paste immediately.  "
  258.                  "If you have an earlier version then you will need to set up lister toolbars, "
  259.                  "as described in the documentation.\n\nClick proceed..."))
  260. )
  261.  
  262. (complete 95)
  263.  
  264. (message (cat "As a test that Cut'n'Paste is now installed and ready to use, click \"Proceed\" "
  265.               "to display Cut'n'Paste's \"About\" window in the language you chose earlier - "
  266.               #cnplanguagename ".\n\n"
  267.               "From that window, select \"Help...\" to display Cut'n'Paste's documentation "
  268.               "(if you put it in \"DOpus5:Help/\").  Otherwise select \"OK\".\n\n"
  269.               "If it doesn't appear, ensure RexxMast is running!  Otherwise, follow the "
  270.               "manual installation."))
  271.  
  272. (run ("rx \"address dopus.1 command 'clip-about'\" "))
  273. (run ("wait 1 sec"))
  274.  
  275. (set @default-dest "")
  276.  
  277. (complete 100)
  278.  
  279. (exit (cat "The installation of Opus Cut'n'Paste V3.4 is now complete.\n\n"
  280.            "I hope you find it very useful as I've put a lot of time and effort into it! "
  281.            "Please e-mail\ncutnpaste@halsteadk.freeserve.co.uk\n"
  282.            "with your comments and suggestions!\n\nKeith Halstead\n28th August 1999\n\n\n"
  283.            "If you haven't already done so, please read the documentation!!  "
  284.            "(Right-click on a lister border, select \"About...\", then \"Help...\".)" (quiet)))
  285.